import { defineStore } from 'pinia'
import { ref } from 'vue'
import { postLoginApi, postRegisterApi } from '@/apis/user/loginreg/index.js'
export const useLoginRegStore = defineStore('LoginReg', () => {
  // 重写方法
  const postLogin = async (params) => {
    const copyParams = { ...params } // 创建 params 的一个浅拷贝,避免直接修改password导致原表单默认值失效
    if (copyParams.phonePassword) {
      // 将 phonePassword 修改为 password
      copyParams.password = copyParams.phonePassword
      delete copyParams.phonePassword // 不提交phonePassword
    }
    return await postLoginApi(copyParams)
  }

  const postRegister = async (params) => {
    const copyParams = { ...params } // 创建 params 的一个浅拷贝,避免直接修改password导致原表单默认值失效
    // 密码与确认密码不同
    if (copyParams.confirmPassword != copyParams.password) return Promise.reject('两次密码不一致')
    if (copyParams.confirmPassword) {
      delete copyParams.confirmPassword // 不提交confirmPassword
    }
    return await postRegisterApi(copyParams)
  }
  // 暴露出的数据
  return {
    postLogin,
    postRegister
  }
})
